// ==========================================================================
// GFast自动生成model操作代码。
// 生成日期：2024-06-11 17:40:12
// 生成路径: internal/app/app/model/app_user.go
// 生成人：yxfmlbb
// desc:用户表
// company:云南奇讯科技有限公司
// ==========================================================================

package model

import (
	"github.com/gogf/gf/v2/os/gtime"
	"github.com/gogf/gf/v2/util/gmeta"
	comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
)

// AppUserInfoRes is the golang structure for table app_user.
type AppUserInfoRes struct {
	gmeta.Meta `orm:"table:app_user"`
	Id         uint64      `orm:"id,primary" json:"id" dc:"ID"`          // ID
	Username   string      `orm:"username" json:"username" dc:"用户名"`     // 用户名
	Nickname   string      `orm:"nickname" json:"nickname" dc:"昵称"`      // 昵称
	Password   string      `orm:"password" json:"password" dc:"密码"`      // 密码
	CreatedAt  *gtime.Time `orm:"created_at" json:"createdAt" dc:"创建日期"` // 创建日期
	DeletedAt  *gtime.Time `orm:"deleted_at" json:"deletedAt" dc:"删除日期"` // 删除日期
	UpdatedAt  *gtime.Time `orm:"updated_at" json:"updatedAt" dc:"更新日期"` // 更新日期
	Status     int         `orm:"status" json:"status" dc:"状态"`          // 状态
	UserType   string      `orm:"user_type" json:"userType" dc:"用户类型"`   // 用户类型
	Age        int         `orm:"age" json:"age" dc:"年龄"`                // 年龄
	Gender     string      `orm:"gender" json:"gender" dc:"性别"`          // 性别
	Salt       string      `orm:"salt" json:"salt" dc:"加密盐"`             // 加密盐
	Mobile     string      `orm:"mobile" json:"mobile" dc:"联系电话"`        // 联系电话
}

type AppUserListRes struct {
	Id        uint64      `json:"id" dc:"ID"`
	Username  string      `json:"username" dc:"用户名"`
	Nickname  string      `json:"nickname" dc:"昵称"`
	Password  string      `json:"password" dc:"密码"`
	CreatedAt *gtime.Time `json:"createdAt" dc:"创建日期"`
	Status    int         `json:"status" dc:"状态"`
	UserType  string      `json:"userType" dc:"用户类型"`
	Age       int         `json:"age" dc:"年龄"`
	Gender    string      `json:"gender" dc:"性别"`
	Salt      string      `json:"salt" dc:"加密盐"`
	Mobile    string      `json:"mobile" dc:"联系电话"`
}

// AppUserSearchReq 分页请求参数
type AppUserSearchReq struct {
	comModel.PageReq
	Id       string `p:"id" dc:"ID"`        //ID
	Username string `p:"username" dc:"用户名"` //用户名
	Nickname string `p:"nickname" dc:"昵称"`  //昵称
	Password string `p:"password" dc:"密码"`  //密码
}

// AppUserSearchRes 列表返回结果
type AppUserSearchRes struct {
	comModel.ListRes
	List []*AppUserListRes `json:"list"`
}

// AppUserAddReq 添加操作请求参数
type AppUserAddReq struct {
	Username string `p:"username" v:"required#用户名不能为空" dc:"用户名"`
	Nickname string `p:"nickname" v:"required#昵称不能为空" dc:"昵称"`
	Password string `p:"password"  dc:"密码"`
	Status   int    `p:"status"  dc:"状态"`
	UserType string `p:"userType"  dc:"用户类型"`
	Age      int    `p:"age"  dc:"年龄"`
	Gender   string `p:"gender"  dc:"性别"`
	Salt     string `p:"salt"  dc:"加密盐"`
	Mobile   string `p:"mobile"  dc:"联系电话"`
}

// AppUserEditReq 修改操作请求参数
type AppUserEditReq struct {
	Id       uint64 `p:"id" v:"required#主键ID不能为空" dc:"ID"`
	Username string `p:"username" v:"required#用户名不能为空" dc:"用户名"`
	Nickname string `p:"nickname" v:"required#昵称不能为空" dc:"昵称"`
	Password string `p:"password"  dc:"密码"`
	Status   int    `p:"status"  dc:"状态"`
	UserType string `p:"userType"  dc:"用户类型"`
	Age      int    `p:"age"  dc:"年龄"`
	Gender   string `p:"gender"  dc:"性别"`
	Salt     string `p:"salt"  dc:"加密盐"`
	Mobile   string `p:"mobile"  dc:"联系电话"`
}
